#pragma once

template<typename T>
class CSingleton
{
    CSingleton(const CSingleton&) = delete;
    CSingleton& operator=(const CSingleton&) = delete;
public:
    CSingleton(){}
    ~CSingleton(){}
    static & GetInstance()
    {
        static T _instance;
        return _instance;
    }
};